export default {
  /* vuex是一个状态管理工具，主要解决复杂项目的数据共享问题，
  主要包括state,actions,mutations,getters和modules 5个属性，
  就是用来存值和取值的,平时使用的时候 */
  // state: 存放共享状态的
  state: {
    userInfo: {},
  },
  // getters: 计算属性，可对state中的共享的数据进行提前的处理
  getters: {
  },
  // mutations: 以同步的方式修改共享状态：唯一的可以显式的修改共享状态的地方
  mutations: {
    setUser(state, val) {
      state.userInfo = val
    }
  },
  // actions: 允许有异步的操作,通过commit触发mutations里面的方法,进而修改state的状态
  // modules: 进行模块化，方便同事直接协同,好维护
  actions: {
    setUserAsync({ commit }, val) {
      commit("setUser", val)
    }
  },
  namespaced: true,
}
